package com.nwpu.coursesupport.service;

import com.nwpu.coursesupport.entity.bean.JSONResult;
import com.nwpu.coursesupport.exception.BatchScorePerformanceException;
import com.nwpu.coursesupport.exception.BatchTaskAssignmentException;
import com.nwpu.coursesupport.exception.TaskSubmitBatchAddException;
import com.nwpu.coursesupport.service.param.IDListParam;
import com.nwpu.coursesupport.service.param.IDParam;
import com.nwpu.coursesupport.service.param.TaskAssignmentServiceParam;

public interface TaskAssignmentService {

	public JSONResult batchCreate(TaskAssignmentServiceParam.BatchCreateParam p)throws BatchTaskAssignmentException,TaskSubmitBatchAddException,BatchScorePerformanceException;
	
	public JSONResult create(TaskAssignmentServiceParam.CreateParam p);
	
    public JSONResult showAnwserVisible(TaskAssignmentServiceParam.ShowAnswerParam p);
    
    public JSONResult showVisible(TaskAssignmentServiceParam.ShowAnswerParam p);
 
    public JSONResult updateAssignStatus(TaskAssignmentServiceParam.UpdateAssignStatusParam p);
    
    public JSONResult remove(IDParam p);
    
    public JSONResult removeAll(IDListParam p);
    public JSONResult getUnAssignLesson(TaskAssignmentServiceParam.UnAssignLessonParam p);
    
    public JSONResult updateDeadLine(TaskAssignmentServiceParam.UpdateDeadLine p);
}
